package rdd.transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Spark01_RDD_Sample {
  def main(args: Array[String]): Unit = {
    val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
    val sc = new SparkContext(sparkConf)
    //求相同时间段内的点击数量
    val rdd: RDD[Int] = sc.makeRDD(List(1, 2, 3, 4, 5,6,7,8,9,11,12,13))

    /**
     * smaple(c,a,b):
     * 第一个参数：抽取数据后是否将数据返回true(放回)，false(丢弃)
     * 第二个参数：数据源中每条数据被抽取的概率（抽取不放回），数据源中每条数据被抽取的次数（抽取放回）
     * 第三个参数：抽取数据时随机算法的种子,如果不传递第三个参数，则第三个参数默认使用的是系统时间
     *
     */
    val str: String = rdd.sample(
      true,
      0.4
//      3
    ).collect().mkString(",")
    println(str)
    sc.stop()
  }

}
